`define MICRO_DATA_WIDTH 50
`define MICRO_ADDR_WIDTH 9

`define MOVRRB	9'b000000000
`define MOVRRW	9'b000000001
`define MOVRMB	9'b000000010
`define MOVRMW	9'b000000011
`define MOVAMB	9'b000000100
`define MOVAMW	9'b000000101
`define MOVMRB	9'b000000110
`define MOVMRW	9'b000000111
`define MOVMAB	9'b000001000
`define MOVMAW	9'b000001001
`define MOVIRB	9'b000001010
`define MOVIRW	9'b000001011
`define MOVIMB	9'b000001100
`define MOVIMW	9'b000001110
`define PUSHR	9'b000010000
`define PUSHM	9'b000010011
`define PUSHI	9'b000010110
`define LEAVE	9'b000011001
`define ENTER	9'b000011100
`define POPR	9'b000100000
`define POPM	9'b000100011
`define INIB	9'b000100110
`define INIW	9'b000100111
`define INRB	9'b000101000
`define INRW	9'b000101001
`define OUTIB	9'b000101010
`define OUTIW	9'b000101011
`define OUTRB	9'b000101100
`define OUTRW	9'b000101101
`define LAHF	9'b000101110
`define SAHF	9'b000101111
`define LDS	9'b000110000
`define LEA	9'b000110011
`define LES	9'b000110100
`define PUSHF	9'b000110111
`define POPF	9'b000111010
`define XCHRRB	9'b000111101
`define XCHRRW	9'b001000000
`define XCHRMB	9'b001000011
`define XCHRMW	9'b001000110
`define XLAT	9'b001001001
`define AAA	9'b001001011
`define AAS	9'b001001100
`define AAM	9'b001001101
`define AAD	9'b001010000
`define DAA	9'b001010101
`define DAS	9'b001010110
`define CBW	9'b001010111
`define CWD	9'b001011000
`define INCRB	9'b001011001
`define INCRW	9'b001011010
`define INCMB	9'b001011011
`define INCMW	9'b001011110
`define DECRB	9'b001100001
`define DECRW	9'b001100010
`define DECMB	9'b001100011
`define DECMW	9'b001100110
`define MULRB	9'b001101001
`define MULRW	9'b001101100
`define MULMB	9'b001101111
`define MULMW	9'b001110011
`define IMULRB	9'b001110111
`define IMULRW	9'b001111010
`define IMULMB	9'b001111101
`define IMULMW	9'b010000001
`define IMULIR	9'b010000101
`define IMULIM	9'b010001000
`define DIVRB	9'b010001100
`define DIVRW	9'b010001111
`define DIVMB	9'b010010010
`define DIVMW	9'b010010110
`define IDIVRB	9'b010011010
`define IDIVRW	9'b010011101
`define IDIVMB	9'b010100000
`define IDIVMW	9'b010100100
`define NEGRB	9'b010101000
`define NEGRW	9'b010101001
`define NEGMB	9'b010101010
`define NEGMW	9'b010101101
`define LOGRRB	9'b010110000
`define LOGRRW	9'b010110001
`define LOGRMB	9'b010110010
`define LOGRMW	9'b010110101
`define LOGMRB	9'b010111000
`define LOGMRW	9'b010111010
`define LOGIRB	9'b010111100
`define LOGIRW	9'b010111101
`define LOGIMB	9'b010111110
`define LOGIMW	9'b011000001
`define NOTRB	9'b011000100
`define NOTRW	9'b011000101
`define NOTMB	9'b011000110
`define NOTMW	9'b011001001
`define RSH1RB	9'b011001100
`define RSH1RW	9'b011001101
`define RSHCRB	9'b011001110
`define RSHCRW	9'b011001111
`define RSH1MB	9'b011010000
`define RSH1MW	9'b011010011
`define RSHCMB	9'b011010110
`define RSHCMW	9'b011011001
`define RSHIRB	9'b011011100
`define RSHIRW	9'b011011101
`define RSHIMB	9'b011011110
`define RSHIMW	9'b011100001
`define TSTRRB	9'b011100100
`define TSTRRW	9'b011100101
`define TSTMRB	9'b011100110
`define TSTMRW	9'b011101000
`define TSTIRB	9'b011101010
`define TSTIRW	9'b011101011
`define TSTIMB	9'b011101100
`define TSTIMW	9'b011101110
`define CALLN	9'b011110000
`define CALLNR	9'b011110011
`define CALLNM	9'b011110111
`define CALLF	9'b011111011
`define CALLFM	9'b100000000
`define JCC	9'b100000110
`define JCXZ	9'b100000111
`define JMPI	9'b100001000
`define JMPR	9'b100001001
`define JMPM	9'b100001010
`define LJMPI	9'b100001011
`define LJMPM	9'b100001101
`define LOOP	9'b100001111
`define LOOPE	9'b100010001
`define LOOPNE	9'b100010011
`define RETN0	9'b100010101
`define RETNV	9'b100010111
`define RETF0	9'b100011010
`define RETFV	9'b100011110
`define CMPSB	9'b100100011
`define CMPSW	9'b100101001
`define CMPSBR	9'b100101111
`define CMPSWR	9'b100110110
`define LODSB	9'b100111101
`define LODSW	9'b100111111
`define LODSBR	9'b101000001
`define LODSWR	9'b101000100
`define MOVSB	9'b101000111
`define MOVSW	9'b101001011
`define MOVSBR	9'b101001111
`define MOVSWR	9'b101010100
`define SCASB	9'b101011001
`define SCASW	9'b101011100
`define SCASBR	9'b101011111
`define SCASWR	9'b101100011
`define STOSB	9'b101100111
`define STOSW	9'b101101001
`define STOSBR	9'b101101011
`define STOSWR	9'b101101110
`define INT3	9'b101110001
`define INT	9'b101111100
`define INTD	9'b110000111
`define INTT	9'b110010000
`define EINT	9'b110011010
`define EINTP	9'b110100101
`define INTO	9'b110110000
`define IRET	9'b110111100
`define NOP	9'b111000011
`define CLC	9'b111000100
`define CLD	9'b111000101
`define CLI	9'b111000110
`define CMC	9'b111000111
`define STC	9'b111001000
`define STD	9'b111001001
`define STI	9'b111001010
`define ESCRW	9'b111001011
`define ESCMW	9'b111001100
`define PUSHA	9'b111001110
`define POPA	9'b111011011
`define INVOP	9'b111100110
